home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0257
/
readme.exe
/
HISTORY.DOC
< prev
next >
Wrap
Text File
|
1992-02-18
|
12KB
|
366 lines
■ Lib4A86 V1.20 ■
■ Release 01.03.1992 ■
■ Eine Sammlung von Routinen für den Assembler A86 ■
(c) Copyright by
■ Bernd Schemmer ■
■ Ondrup 117 ■
■ 4710 Lüdinghausen 2 ■
Copyright (c) 1990 - 1992 by B. Schemmer
■ Update-History von Lib4A86 ■
══════════════════════════════
■ Hinweis ■
───────────
Da die .LIB-, .BIB-, .MAB- und .DOC-Dateien aus den entsprechenden
.INC- bzw. .MAC-Dateien erstellt wurden, beziehen sich alle im fol-
genden angegebenen Änderungen, Korrekturen oder Erweiterungen der
.INC- bzw. .MAC-Dateien auch auf die zugehörigen .LIB-, .BIB-, .MAB-
und .DOC-Dateien.
■ Version 1.00, 30.10.1990 ■
────────────────────────────
- Erster Release
■ Version 1.10, 31.12.1990 ■
────────────────────────────
Ab dieser Version mußte ich aus Platzgründen auch die allgemeine
Dokumentation komprimieren. Die Teile der Dokumentation, die nur
für Händler von Interesse sind, befinden sich nun in der Datei
'HAENDLER.DOC' (unkomprimiert).
■ Erweiterungen/Einschränkungen des Lieferumfanges ■
Zusätzlich wird jetzt die Datei 'UNPACK.BAT' zum Installieren von
Lib4A86 mitgeliefert.
Zu allen .MAC-Dateien wird jetzt auch eine .DOC-Datei geliefert.
Die Quellcodes der Utils werden ab jetzt auch nicht mehr in der
Vollversion ausgeliefert.
■ Korrekturen ■
In der letzten Version haben alle Routinen vorrausgesetzt, daß
das Direction-Flag gelöscht ist. Ab jetzt arbeiten die Routinen
auch bei einem gesetztem Direction-Flag korrekt.
In der Routine CreateNewFileBuffered ('TEXTIO') wurde die falsche
Funktions-Nummer für den Interrupt 21h benutzt. Der Fehler wurde
korrigiert.
Die Routine AppendFileBuffered ('TEXTIO') funktionierte nicht
immer korrekt. Der Fehler wurde korrigiert.
Die Routine FlushFileBuffered ('TEXTIO') schrieb in Ausnahme-
fällen den leeren Puffer auf die Disk.
Der Fehler wurde korrigiert.
Die Routinen zum Schreiben und Schließen einer Datei ('TEXTIO')
haben den Inhalt des Registers BP verändert. Dieser Fehler wurde
beseitigt.
Die Routinen zur Konvertierung von Zeichenketten in Werten
('GETVALUE') veränderten das Register CX. Der Fehler wurde korri-
giert.
Die Routine Berechene_Laufzeit ('DATETIME') hat nicht in allen
Fällen die korrekte Laufzeit berechnet.
Der Fehler wurde korrigiert.
Die Routine GetDate ('DATETIME') hat ein Datum des 21. Jahrhun-
derts nicht korrekt ausgegeben. Der Fehler wurde korrigiert.
Das Macro PROGENDE ('MACROS') war fehlerhaft.
Der Fehler wurde korrigiert.
Die Routine GetFilePath ('FILES') hat im Fehlerfall nicht die
korrekte DOS-Fehlernummer zurückgegeben.
Der Fehler wurde korrigiert.
Das Macro MAKESTR ('STRINGS') hat den Wert von DI verändert.
Der Fehler wurde korrigiert.
Der Handler für den Interrupt 24h ('INT24') hat nicht korrekt
zwischen Block- und Char-Devices unterschieden. Der Fehler wurde
beseitigt.
■ Erweiterungen der Utilites ■
Die beiden Utils 'MAKEDOC.COM' und 'MAKELIB.COM' wurden stark
erweitert. U.a. beherrschen sie jetzt
- die Bearbeitung von Datei-Masken
- die Steuerung über Environment-Variablen
- die Steuerung über Schalter beim Aufruf
(siehe entsprechende .DOC-Dateien)
■ Erweiterungen/Änderungen der bestehenden Dateien ■
Die Variable LIB4A86 wurde in allen .INC-Dateien implementiert.
('siehe README.DOC')
Die Datei 'DOS_IO.xxx' wurden in 'DOSOLDIO.xxx' umbenannt.
Zudem wurden die Namen aller Routinen und Macros aus dieser Datei
zur Vermeidung von Namenskonflikten um das Präfix DOS erweitert.
Die Routine Get_Error_Message ('DOSERROR') liefert nun die
Fehlermeldungen als normale Strings mit Längenzähler.
Die Datei 'MACROS.MAC' wurde um einige Macros erweitert.
Für die Routinen zur sequentiellen gepufferten Dateibearbeitung
('TEXTIO') wurden zusätzlich die Variablen 'CREATEFILEATTR' und
'FILEMODE' und implementiert. Über diese kann nun das Attribut
beim Erstellen einer Datei und der Modus beim Eröffnen einer
Datei bestimmt werden.
Die Datei 'ENV.INC' wurde um die Variable 'PATHVAR' erweitert.
In der Datei 'DATETIME.INC' wurden Variablen mit den Namen der
einzelnen Wochentage und Monate implementiert.
Die Routinen zur Datums/Zeitbehandlung ('DATETIME') wurden um
die Routinen 'KonvertTime' und 'KonvertDate' erweitert.
Die Routine Berechne_Laufzeit ('DATETIME') wurde um eine Über-
prüfung der gegebenen Zeiten erweitert. Die Routinen SetTime und
SetDate ('DATETIME') wurden erweitert.
Die Routinen zur Parameter-Bearbeitung ('PARMS') wurden um die
Verarbeitung von Anführungszeichen erweitert. Zusätzlich steht
nun die Originalparameterzeile in der Variable 'SAVEDPARMS' zur
Verfügung.
Der Handler für den Interrupt 24h ('INT24') wurde um die Möglich-
keit, eine eigene Routine zusätzlich zu installieren, erweitert.
■ Neue Dateien in dieser Version ■
- Routinen zur Bearbeitung von Long-Integer-Werten (32 Bit)
- Routinen zur Kommunikation mit dem Druckerspooler PRINT
- Routinen zur Nutzung des CLOCK$-Devices
- Routinen zum Testen des Prozessor- und des Coprozessor-Typs
- Routinen zur Kommunikation mit dem DOS-Util ASSIGN.COM
- Macros, Definititionen und Routinen zur Nutzung der undokumen-
tierten DOS-Features
- Macros und Definitionen zur Nutzung der STACKS-Verwaltung
- Macros und Definitionen zur Bearbeitung von Disketten/Plattten
auf Lowlevel-Ebene
- Macros zur Tastatur-Verwaltung über den Interrupt 16h
■ Version 1.12, 30.06.1991 ■
────────────────────────────
■ Korrekturen ■
Die Routinen zur Behandlung des Environments ('ENV') sind in der
vorherigen Version davon ausgegangen, daß im DOS-Info-Block beim
Offset -4h die Adresse des ersten MCB als Doppelwort steht. Da
dies aber nicht der Fall ist, konnte es in Ausnahme-Fällen zu
einer Endlos-Schleife kommen. Der Fehler wurde beseitigt.
Die Routine Get_Error_Message ('DOSERROR') hat immer die Fehler-
meldung der der übergebenden Fehlernummer folgenden Fehlernummer
zurückgegeben. Der Fehler wurde beseitigt.
Da die Utils 'MAKEDOC.COM' und 'MAKELIB.COM' auf den Routinen aus
Lib4A86 beruhen, hatten auch diese die o.a. Fehler.
Falls der Inhalt der Environment-Variablen 'MAKEDOC'/'MAKELIB' zu
lang war, sind die Utils 'MAKEDOC.COM'/'MAKELIB.COM' in der vor-
herigen Version abgestürzt. Der Fehler wurde beseitigt.
Die Utils benutzen jetzt nur noch die Funktion 40h des Interrupt
21h zur Ausgabe von Zeichen auf die Standard-Ausgabe.
Der symbolische Name für das Standard-Outputhandle ('FILES')
wurde von 'STDOU' in STDOUT' geändert.
Die Datei 'TESTS.INC' ist jetzt in der Sammlung NICHT mehr ent-
halten.
Die Routinen, Demos und Utils liefen teilweise nicht auf einer
Original 8088- bzw. 8086-CPU. Der Fehler wurde beseitigt.
■ Version 1.20, 01.03.1992 ■
────────────────────────────
■ Korrekturen ■
Der Preis der Vollversion von Lib4A86 wurde auf 50,- DM gesenkt.
Die Bedingungen zum gewerblichen Vertrieb von Lib4A86 wurden ge-
lockert. (siehe 'README.DOC') Die Datei 'HAENDLER.DOC' befindet
sich nicht mehr auf der Diskette.
Die Batch-Datei zum Auspacken der Archive heißt jetzt 'INSTALL.BAT'
Die Routinen aus 'STRINGS1.INC' wurden korrigiert.
Die Routinen zur Bearbeitung des Environments ('ENV') haben teil-
weise bei Auftritt eines unerwarteten Fehlers das System zum Ab-
sturz gebracht. Der Fehler wurde beseitigt.
Die DTA für die Routinen FindFirst und FindNext ('FILES') belegt
43 Byte (nicht 42 wie in der Dokumentation angegeben!).
Die Routinen CreateNewFileBuffered und CreateFileBuffered ('TEXTIO')
wurden korrigiert.
Der neue Interrupt-Handler für den Interrupt 24h ('INT24') hat in
der vorherigen Version eine zusätzliche Routine nicht korrekt auf-
gerufen. Der Fehler wurde beseitigt.
Zusätzlich wurde der Handler erweitert.
■ Erweiterungen ■
Die Utils MAKELIB.COM und MAKEDOC.COM wurden erweitert.
Zusätzlich schließt MAKEDOC.COM jetzt explizit am Ende jeder Datei
alle offenen Klammerungen (z.B. #IF ... #ENDIF, MACRO ... #EM, etc)
und gibt, falls noch eine oder mehrere Klammerungen auf sind, eine
Warnung auf die Standard-Ausgabe aus.
Die Datei 'ZZZ.ZZZ' ist ab dieser Version für die Compilierung der
Demos nicht mehr nötig (und somit auch nicht mehr vorhanden).
Alle .INC-Dateien (und implizit alle .DOC- und .LIB-Dateien) wurden
noch einmal vollständig überarbeitet.
Dabei wurden auch einige Routinen und Variablen umbenannt bzw. ge-
löscht. Dies betrifft besonders die Dateien
'GETVALUE.INC', 'SETVALUE.INC', 'STRINGS.INC',
'DOSERROR.INC', 'MENGEN.INC', 'FILES.INC',
'ENV.INC', 'OLDDOSIO.INC', 'MACROS.MAC',
aber auch andere.
Die Routinen zur Bearbeitung von Strings ('STRINGS') wurden noch-
mals bzgl. des Speicherplatzes optimiert (Gewinn: ca. 50 Byte)
Die Routinen zur Bearbeitung von Mengen ('MENGEN') wurden nochmals
bzgl. des Speicherplatzes optimiert (Gewinn: ca. 70 Byte).
Die Routinen zur Datei-Bearbeitung ('FILES') wurden um Routinen zur
Konvertierung des Datums und der Zeit vom DOS- ins Datei-Format und
umgekehrt erweitert. Zusätzlich wurden die Routinen nochmals bzgl.
des Speicherplatzes optimiert (Gewinn: ca. 110 Byte).
Die Routinen zur Bearbeitung des Environments ('ENV') wurden bzgl.
des Speicherplatzes optimiert (Gewinn: ca. 60 Byte)
Die Routinen aus 'EXEC.INC' behandeln den Schrägstrich jetzt analog
zum Backslash.
Die allgemeinen Macros in 'MACROS.MAC' wurden erweitert.
Die Demos liegen jetzt aus Platzgründen nur noch als Quelltexte
vor.
Neu hinzugekommen sind folgende Routinen:
'DOSIO.INC' - Routinen zum Lesen und Schreiben von Strings und
Zeichen von der Standard-Eingabe bzw. -Ausgabe.
'MEMORY.INC' - Routinen zur Nutzung der DOS-Speicherverwaltung
'BEHAP.INC' - Routinen zur Verwaltung von BasedHeaps
'MQUEUE.INC' - Routinen zur Verwaltung von meldungsorientierten
Queuen
'SQUEUE.INC' - Routinen zur Verwaltung von streamorientierten
Queuen
'QUEUES.INC' - Routinen zur Verwaltung von Queuen über Handles
(analog der DOS-Dateiverwaltung)
'MSTACK.INC' - Routinen zur Verwaltung von meldungsorientierten
Stacks
und
'RECORDIO.INC' - Routinen zur gepufferten Bearbeitung von Record-
Dateien mit direkten und wahlfreien Schreib- und
Lesezugriff.